window: Remove _gtk_window_set_is_toplevel
authorTimm Bäder <mail@baedert.org>
Wed, 8 Feb 2017 13:13:23 +0000 (14:13 +0100)
committerTimm Bäder <mail@baedert.org>
Fri, 31 Mar 2017 07:50:39 +0000 (09:50 +0200)
All GtkWindow instances are toplevels.

gtk/gtkwidget.c
gtk/gtkwindow.c
gtk/gtkwindowprivate.h

index ff1527eee63a5dc6beebe49ed5fe2c61ca689c78..2912371edc92b1744313f7f69449c6c2284b38f1 100644 (file)
@@ -9161,6 +9161,7 @@ gtk_widget_set_parent_window (GtkWidget *widget,
   GdkWindow *old_parent_window;
 
   g_return_if_fail (GTK_IS_WIDGET (widget));
+  g_return_if_fail (!GTK_IS_WINDOW (widget));
 
   old_parent_window = g_object_get_qdata (G_OBJECT (widget),
                                          quark_parent_window);
@@ -9173,13 +9174,6 @@ gtk_widget_set_parent_window (GtkWidget *widget,
        g_object_unref (old_parent_window);
       if (parent_window)
        g_object_ref (parent_window);
-
-      /* Unset toplevel flag when adding a parent window to a widget,
-       * this is the primary entry point to allow toplevels to be
-       * embeddable.
-       */
-      if (GTK_IS_WINDOW (widget))
-       _gtk_window_set_is_toplevel (GTK_WINDOW (widget), parent_window == NULL);
     }
 }
 
index 59ab52117bd8cf1807e32e7389e9f6437abbb028..33218c718b207e3b582ef77af292662c6c848275 100644 (file)
@@ -10666,78 +10666,6 @@ _gtk_window_set_is_active (GtkWindow *window,
     }
 }
 
-/**
- * _gtk_window_set_is_toplevel:
- * @window: a #GtkWindow
- * @is_toplevel: %TRUE if the window is still a real toplevel (nominally a
- * child of the root window); %FALSE if it is not (for example, for an
- * in-process, parented GtkPlug)
- *
- * Internal function used by #GtkPlug when it gets parented/unparented by a
- * #GtkSocket.  This keeps the @window’s #GTK_WINDOW_TOPLEVEL flag in sync
- * with the global list of toplevel windows.
- */
-void
-_gtk_window_set_is_toplevel (GtkWindow *window,
-                             gboolean   is_toplevel)
-{
-  GtkWidget *widget;
-  GtkWidget *toplevel;
-
-  widget = GTK_WIDGET (window);
-
-  if (_gtk_widget_is_toplevel (widget))
-    g_assert (g_slist_find (toplevel_list, window) != NULL);
-  else
-    g_assert (g_slist_find (toplevel_list, window) == NULL);
-
-  if (is_toplevel == _gtk_widget_is_toplevel (widget))
-    return;
-
-  if (is_toplevel)
-    {
-      /* Pass through regular pathways of an embedded toplevel
-       * to go through unmapping and hiding the widget before
-       * becomming a toplevel again.
-       *
-       * We remain hidden after becomming toplevel in order to
-       * avoid problems during an embedded toplevel's dispose cycle
-       * (When a toplevel window is shown it tries to grab focus again,
-       * this causes problems while disposing).
-       */
-      gtk_widget_hide (widget);
-
-      /* Save the toplevel this widget was previously anchored into before
-       * propagating a hierarchy-changed.
-       *
-       * Usually this happens by way of gtk_widget_unparent() and we are
-       * already unanchored at this point, just adding this clause incase
-       * things happen differently.
-       */
-      toplevel = _gtk_widget_get_toplevel (widget);
-      if (!_gtk_widget_is_toplevel (toplevel))
-        toplevel = NULL;
-
-      _gtk_widget_set_is_toplevel (widget, TRUE);
-
-      /* When a window becomes toplevel after being embedded and anchored
-       * into another window we need to unset its anchored flag so that
-       * the hierarchy changed signal kicks in properly.
-       */
-      _gtk_widget_set_anchored (widget, FALSE);
-      _gtk_widget_propagate_hierarchy_changed (widget, toplevel);
-
-      toplevel_list = g_slist_prepend (toplevel_list, window);
-    }
-  else
-    {
-      _gtk_widget_set_is_toplevel (widget, FALSE);
-      toplevel_list = g_slist_remove (toplevel_list, window);
-      _gtk_widget_propagate_hierarchy_changed (widget, widget);
-    }
-  gtk_window_update_debugging ();
-}
-
 /**
  * gtk_window_set_auto_startup_notification:
  * @setting: %TRUE to automatically do startup notification
index ce1383b1739a636dbacafeb0fa18effd55145e05..604c2973ea3864a8007a5aa94b5e34601c722dd8 100644 (file)
@@ -52,9 +52,6 @@ void            _gtk_window_unset_focus_and_default (GtkWindow *window,
 void            _gtk_window_set_is_active          (GtkWindow *window,
                                                     gboolean   is_active);
 
-void            _gtk_window_set_is_toplevel        (GtkWindow *window,
-                                                    gboolean   is_toplevel);
-
 void            _gtk_window_set_allocation         (GtkWindow           *window,
                                                     const GtkAllocation *allocation,
                                                     GtkAllocation       *allocation_out);